home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / NVRAM.p < prev    next >
Text File  |  1996-05-01  |  3KB  |  122 lines

  1. {
  2.      File:        NVRAM.p
  3.  
  4.      Contains:    NVRAM FPI data structures and function prototypes 
  5.  
  6.      Version:    Technology:    
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT NVRAM;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __NVRAM__}
  28. {$SETC __NVRAM__ := 1}
  29.  
  30. {$I+}
  31. {$SETC NVRAMIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __KERNEL__}
  38. {$I Kernel.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __OSUTILS__}
  41. {$I OSUtils.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __ERRORS__}
  44. {$I Errors.p}
  45. {$ENDC}
  46.  
  47. {$PUSH}
  48. {$ALIGN MAC68K}
  49. {$LibExport+}
  50.  
  51. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  52. {
  53.     NVRAM Error Return Code
  54. }
  55.  
  56. CONST
  57.     NVRAMnoErr                    = 0;
  58.     NVRAMInvalidParm            = -50;
  59.     NVRAMReadFailed                = -19;
  60.     NVRAMWriteFailed            = -20;
  61.     NVRAMServiceFailed            = -18;
  62.     NVRAMInstallFailed            = -26;
  63.  
  64. {
  65.     NVRAM Request Code
  66. }
  67.     kNVRAMpramInitMsg            = 1;
  68.     kNVRAMpramReadMsg            = 2;                            {  This include read access to System Parameters and XPRAM  }
  69.     kNVRAMpramWriteMsg            = 3;                            {  This include write access to System Parameters and XPRAM }
  70.     kNVRAMrpramReadMsg            = 4;
  71.     kNVRAMrpramWriteMsg            = 5;
  72.     kNVRAMReadMsg                = 6;
  73.     kNVRAMWriteMsg                = 7;
  74.     kNVRAMOpenFirmwareReadMsg    = 8;
  75.     kNVRAMOpenFirmwareWriteMsg    = 9;
  76.     kNVRAMNameRegistryReadMsg    = 10;
  77.     kNVRAMNameRegistryWriteMsg    = 11;
  78.     kNVRAMRqstLimit                = 12;
  79.  
  80. {
  81.     Function    :    NVRAMFPIInit
  82.     
  83.     Description    :    Find the Object Id property in the family-tree
  84.                     This is essential for message passing between FPI and kernel server task.
  85.                     This is the main entry for the NVRAMFPI library, and will be called when
  86.                     FPI library is loaded by the CFM.
  87. }
  88. FUNCTION NVRAMFPIInit: OSStatus; C;
  89. {
  90.     Function    :    NVRAMAccessSync
  91.     
  92.     Description    :    This is common entry point for synchronous access to NVRAM hardware.
  93.                     This is an export in the NVRAMFPI library.
  94. }
  95. FUNCTION NVRAMAccessSync(offset: UInt32; VAR accessData: Byte; sizeofAccess: ByteCount; typeOfRequest: UInt32): OSStatus; C;
  96. {
  97.     Function    :    NVRAMAccessAsync
  98.     
  99.     Description    :    This is common entry point for asynchronous access to NVRAM hardware
  100.                     This is an export in the NVRAMFPI library.
  101. }
  102. FUNCTION NVRAMAccessAsync(offset: UInt32; VAR accessData: Byte; sizeofAccess: ByteCount; someTypeofNotification: UNIV Ptr; typeOfRequest: UInt32; VAR replySize: ByteCount; VAR msgID: MessageID): OSStatus; C;
  103. {
  104.     Test APIs or SPIs
  105. }
  106. FUNCTION myInitUtil: OSErr;
  107. FUNCTION myGetSysPPtr: SysPPtr;
  108. FUNCTION myWriteParam: OSErr;
  109. FUNCTION myWriteXPRAM(offset: UInt32; VAR accessdata: Byte; numberOfBytes: ByteCount): OSErr;
  110. FUNCTION myReadXPRAM(offset: UInt32; VAR accessdata: Byte; numberOfBytes: ByteCount): OSErr;
  111. {$ENDC}
  112. {$ALIGN RESET}
  113. {$POP}
  114.  
  115. {$SETC UsingIncludes := NVRAMIncludes}
  116.  
  117. {$ENDC} {__NVRAM__}
  118.  
  119. {$IFC NOT UsingIncludes}
  120.  END.
  121. {$ENDC}
  122.